(Not Applicable)
(Not Applicable)
1. Technical Field
This invention relates to the field of satellite command and control and more particularly to a method for structuring families of satellite command and control directives in a hierarchical syntax.
2. Description of the Related Art
Computer scientists recognize the utility of structuring objects by relation in a relational hierarchy. Typical examples of relational hierarchies include object oriented class systems and file directory tree structures. For example, the C++ and Java languages include a hierarchy of classes. Theoretically, the hierarchy of classes corresponds to entities in the real world environment. The physical structure of the hierarchy represents how the classes are related internally. Similarly, the Windows 95 operating system includes a hierarchy of devices and files contained therein. Specifically, the Explorer application included with Windows 95 organizes data residing on a device in terms of device, directory, sub-directory and file. Within this scheme, files are associated with parent sub-directories which are associated with parent directories which are associated with parent disk drives which are associated with a computer.
A flat structure, for example a list, provides an alternative to hierarchical organization of objects. For instance, in a flat file storage structure, an operating system would be compelled to organize and represent files on a computer in a list, perhaps in a sorted order. Yet, the use of a flat structure impedes a quick analysis of the relationship between individual files on a computer system. Where the number of files becomes great, the ability to analyze the relationship all but disappears.
Although hierarchical structure has become important in the field of operating systems and programming languages, a hierarchical syntax has yet to be applied to satellite command and control directives. Current methods of organizing a directive syntax includes the use of a simple list. Consequently, analyzing the relationship between directives in a traditional directive syntax in a satellite command and control system can prove to be a daunting task.
For example, presently, when a user of a satellite command and control system seeks to issue a directive, either in real-time or as part of a script, the user must either have a priori knowledge of the directive, or the user must research the appropriate directive in a reference manual. Where the directive vocabulary is limited, this task remains manageable. Still, a limited directive vocabulary necessarily implies reduced specificity for each directive. To further hone a particular directive to a specific task, however, additional parameters defined for a directive becomes necessary. Hence, in order to provide specific directives to address specific tasks, the complexity of the directive vocabulary must increase accordingly.
When presented with a complex directive syntax, however, the user""s recall of an appropriate directive can become difficult. Furthermore, identifying a particularly appropriate directive among a voluminous set of directives in a reference manual can be inefficient and counterproductive. This can be especially true where each directive is stored in a flat list. Specifically, in a flat list, it can be difficult for a user to identify the relationship between each directive in the directive syntax. This difficulty can be compounded where a satellite command and control system includes a large collection of directives. In this circumstance, a user cannot identify the relationships between directives.
A method for structuring satellite command and control directives in a hierarchical syntax can provide a more intuitive structure for storing and illustrating a collection of satellite directives. Specifically, a method for structuring satellite command and control directives in a hierarchical syntax comprises the steps of: defining at least one satellite command and control directive; and, associating the directive with a family of directives, where each family includes directives logically or functionally related to each other directive contained in the family. In a more complex system, the defining step can comprise the steps of defining at least one satellite command and control subdirective logically or functionally related to a defined directive; and, associating the subdirective with the defined directive.
The method can include the step of defining a plurality of properties corresponding to at least one of the directives. Similarly, in a more complex system, the method can include the step of defining a plurality of properties corresponding to at least one of the sub-directives, as well.
The method can include the step of compiling the associated families and directives into a binary persistent library. In particular, the associated families, directives, and parameters can be stored in a text-file. Subsequently, the file can be parsed with the resulting parsed data being stored in a flat file database. The database contains a series of records including the associated families, directives, and parameters. In addition, the records can be keyed so as to permit intelligent retrieval of the records containing the families, directives, and parameters. As before, in a more complex system, the method can include the step of compiling the associated families, directives and subdirectives into a persistent library.
The method can further comprise the step of displaying in a graphical user interface (GUI) a hierarchy representing the associations among the families and directives in order to assist a user in assembling satellite directives, and, in a complex system, sub-directives. Advantageously, the inventive method can present the hierarchy in a tree-structure. Thus, the method can further comprise the step of forming a graphical tree structure having at least one node and a plurality of subnodes descending from the node. Additionally, a family of directives can be associated with the nodes. Moreover, each directive contained in the family can be associated with a corresponding subnode descending from the node. Furthermore, where applicable, each subdirective logically or functionally related to a defined directive can be associated with a corresponding child subnode descending from a parent subnode associated with the defined directive. Finally, the graphical tree structure can be displayed in the GUI. Advantageously, the method can further include accepting a selection of one subnode; and, in response to a selection, can display in the GUI parameters corresponding to the directive or sub-directive associated with the selected node.
Advantageously, the method can assist a user in selecting a satellite command and control directive. Thus, in another aspect of the invention, the inventive method can comprise the steps of: defining a hierarchy of satellite command and control directives and subdirectives where each directive and subdirective has a hierarchical relationship; storing the defined hierarchy in a binary object; subsequently retrieving the defined hierarchy from the binary object; displaying said defined hierarchy in a graphical user interface (GUI); accepting a user selection of a satellite command and control directive or subdirective contained in the defined hierarchy; and, in response to a user selection, displaying in the GUI parameters corresponding to the selected directive or subdirective. Hence, the displaying of the hierarchy and the displaying of the parameters corresponding to the selected directive or subdirective can assist the user in issuing a satellite command and control directive.
The defining step can comprise the steps of: defining a family of directives for grouping a plurality of directives logically or functionally related to each directive in the family; defining a plurality of directives, each directive logically or functionally related to each other directive; including in the defined family, the plurality of directives; and, storing the family of directives including each defined directive in a file. The compiling step comprises the steps of: serializing each directive in the family into a binary stream; streaming the binary stream into a binary object, where the binary object can retain the hierarchical relationship between each directive and subdirective; and, storing the binary object in an electronic storage. Finally, the retrieving step can comprise the steps of: retrieving from said electronic storage the binary object; retrieving from the binary object each directive in the family; retrieving from the binary object each subdirective associated with a retrieved directive in the family; and, retrieving from the binary object each parameter associated with a retrieved directive or subdirective in the family.
In yet another aspect of the invention, a method for assisting the selection of a satellite command and control directive can comprise the steps of: structuring a plurality of satellite command and control directives and subdirectives in a family of directives and subdirectives wherein each directive and subdirective in the family has a hierarchical relationship to each other directive and subdirective; compiling the family of directives and subdirectives into a binary object; retrieving from the binary object the family of directives and subdirectives; displaying the family of directives and subdirectives in a graphical tree in a graphical user interface (GUI); accepting a user selection of a directive or subdirective in the graphical tree; and, displaying in the GUI parameters associated with the selected directive or subdirective, whereby the GUI can assist a user to resolve hierarchical relationships between each directive and subdirective in a satellite command and control directive syntax.